import com.gonsin.ta.example.services.RealLogicService
import com.gonsin.ta.logic.components.RunNode
import com.gonsin.ta.logic.parse.condition.context.ChainContext

/**
 * 此例子演示在groovy里继承节点，实现节点接口，并且调用其他springboot bean的方法
 */
class MyGroovyNodeSample implements RunNode {

    @Override
    void processRun(ChainContext context) {
        // 通过log打印日志
        def log = context.getBean("log");
        log.info("通过log打印日志");

        // 由于在groovy无法实现springboot的自动注入框架，所以只能通过context的getBean方法获取springboot的bean对象
        RealLogicService realLogicService = context.getBean("realLogicService");
        realLogicService.sampleMethod();

        // 通过context获取上下文内容
        def value = context.getValue("value1");
        log.info("获取到的内容为\"{}\"", value);
    }
}